package com.example.user.myfirstapp.sqlitedb;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
 * Created by user on 2016/5/20.
 */
public class SqliteDb extends SQLiteOpenHelper {
    public static final int DB_VERSION = 20;
    public static final String DB_NAME = "DB";
    public static final String SEARCHLOG= "searchLog";

    public SqliteDb(Context context){
        super(context,DB_NAME,null,DB_VERSION);
    }

    public SqliteDb(Context context, String dbname, SQLiteDatabase.CursorFactory factory,int version){
        super(context,dbname,null,version);
    }

    /**
     * 这个方法
     * 1、在第一次打开数据库的时候才会走
     * 2、在清除数据之后再次运行-->打开数据库，这个方法会走
     * 3、没有清除数据，不会走这个方法
     * 4、数据库升级的时候这个方法不会走
    */
    @Override
    public void onCreate(SQLiteDatabase db) {
        //创建搜索记录表
        String searchLogSql="CREATE TABLE IF NOT EXISTS " + SEARCHLOG+ "("+
                "id integer primary key ,"+
                "logname TEXT DEFAULT \"\","+
                "logtime TEXT DEFAULT \"\""+
                ")";
        db.execSQL(searchLogSql);
    }

    /**
     * 1、第一次创建数据库的时候，这个方法不会走
     * 2、清除数据后再次运行(相当于第一次创建)这个方法不会走
     * 3、数据库已经存在，而且版本升高的时候，这个方法才会调用
     */
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL( "DROP TABLE IF EXISTS " + SEARCHLOG );//删除搜索记录表
        onCreate(db);
    }

}
